﻿Imports Controle
Imports Persistencia
Public Class frmCliente

#Region "Declaração de variáveis"

    Private objClientes As New Controle.ctrCliente
    Private prvIDCliente As Int32
    Private prvIDContato As Int32
    Private prvTipoPessoa As Int32 'Fisica = 0 Jurídica = 1
    Private prvIDBairro As Int32
    Private prvIDEstado As Int32
    Private prvIDCidade As Int32
    Private prvIDStatus As Int32
    Private prvIDRegiao As Int32
    Private prvIDRamoAtividade As Int32
    Private sMensagemValidacao As String = ""
    Private dsDadosContatos As DataSet

    Private objCidade As New ctrCidade
    Private objEstado As New ctrEstado
    Private objBairro As New ctrBairro
    Private objStatus As New ctrStatus
    Private objRegiao As New ctrRegiao
    Private objContatos As New ctrContato
    Private objRamoAtividade As New ctrRamoAtividade

    Private Enum eColContatos
        eIdContato = 0
        eNomeContato = 1
        ePrincipal = 2
        eIdDepto = 3
        eDepto = 4
        eEmail = 5
        eTelefone = 6
        eCelular = 7
        eFax = 8
        eAcao = 9

    End Enum
    Private Enum eAcaoContatos
        Inserir = 0
        Editar = 1
        Excluir = 2
    End Enum

#End Region

#Region "Propriedades"

    Public Property IDCliente() As Int32
        Get
            Return Me.prvIDCliente
        End Get
        Set(ByVal value As Int32)
            Me.prvIDCliente = value
        End Set
    End Property

#End Region

#Region "Métodos"
    Private Sub carregaDados()
        Dim drDadosCliente As DataRow
        Dim tipoPessoa As Byte

        Try
            If (prvIDCliente > 0) Then
                Call Limpar(Me)
                Me.Codigo = prvIDCliente
                drDadosCliente = Me.objClientes.selecionarCliente(prvIDCliente)
                If (Not drDadosCliente Is Nothing) Then
                    With drDadosCliente
                        tipoPessoa = Persistencia.perConversao.nuloParaZero(.Item("TipoPessoa"))
                        If (tipoPessoa = 1) Then
                            optJuridica_CheckedChanged(optJuridica, EventArgs.Empty)
                            optJuridica.Checked = True
                        Else
                            optTipoFisica_CheckedChanged(optTipoFisica, EventArgs.Empty)
                            optTipoFisica.Checked = True
                        End If
                        Me.txtIDCliente.Text = prvIDCliente
                        Me.txtRazaoSocial.Text = Persistencia.perConversao.nuloParaVazio(.Item("RazaoSocial"))
                        Me.txtNomeFantasia.Text = drDadosCliente.Item("NomeFantasia").ToString
                        Me.txtTelefone.Text = Persistencia.perConversao.nuloParaVazio(.Item("Telefone").ToString)
                        Me.txtCnpj.Text = Persistencia.perConversao.nuloParaVazio(.Item("CNPJ"))
                        Me.txtInsc.Text = Persistencia.perConversao.nuloParaVazio(.Item("InscEstadual"))
                        Me.txtEndereco.Text = Persistencia.perConversao.nuloParaVazio(.Item("Endereco"))
                        prvIDEstado = Persistencia.perConversao.nuloParaZero(.Item("IDEstado"))
                        If (prvIDEstado > 0) Then
                            Me.txtEstado.Text = objEstado.retornarCampoEstado("Sigla", prvIDEstado).Item("Sigla")
                        End If
                        prvIDCidade = Persistencia.perConversao.nuloParaZero(.Item("IDCidade"))
                        If (prvIDCidade > 0) Then
                            Me.txtCidade.Text = objCidade.retornarNomeCidade(prvIDCidade)
                        End If
                        prvIDBairro = Persistencia.perConversao.nuloParaZero(.Item("idbairro"))
                        If (prvIDBairro > 0) Then
                            Me.txtBairro.Text = objBairro.retornarCampoBairro("Bairro", prvIDBairro).Item("Bairro")
                        End If
                        Me.txtCEP.Text = Persistencia.perConversao.nuloParaVazio(.Item("Cep"))
                        Me.txtEmail.Text = Persistencia.perConversao.nuloParaVazio(.Item("Email"))
                        prvIDStatus = Persistencia.perConversao.nuloParaZero(.Item("idStatus"))
                        If (prvIDStatus > 0) Then
                            Me.txtStatus.Text = objStatus.retornarCampoStatus("Descricao", prvIDStatus).Item("Descricao")
                        End If
                        prvIDRegiao = Persistencia.perConversao.nuloParaZero(.Item("idRegiao"))
                        If (prvIDRegiao > 0) Then
                            Me.txtRegiao.Text = objRegiao.retornarCampoRegiao("Regiao", prvIDRegiao).Item("Regiao")
                        End If
                        Me.txtObservacoes.Text = Persistencia.perConversao.nuloParaVazio(.Item("Observacoes"))
                        prvIDRamoAtividade = perConversao.nuloParaZero(drDadosCliente.Item("IDRamoAtividade"))
                        If prvIDRamoAtividade > 0 Then
                            Me.txtRamoAtividade.Text = objRamoAtividade.retornarCampoRamoAtividade("Descricao", prvIDRamoAtividade).Item("Descricao")
                        End If
                    End With
                    CarregaDadosContato()
                    MyBase.modoAtual = eModo.eAguardar

                End If
            Else
                MyBase.modoAtual = eModo.eAguardar
            End If



        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical, Me.Text)
        End Try

    End Sub

    Private Sub CarregaDadosContato()
        Dim cont As Int32

        Call FormataContatos()

        With dtGridContatos
            .DataSource = Me.objContatos.selecionarContato(0, Me.Codigo, False).Tables(0)
            For cont = 0 To .Rows.Count - 1
                If (Persistencia.perConversao.nuloParaBoleano(.Item(eColContatos.ePrincipal, cont).Value)) Then
                    .Rows(cont).DefaultCellStyle.Font = New Font(dtGridContatos.Font, FontStyle.Bold)
                    Exit For
                End If
            Next
        End With

    End Sub

    Private Sub FormataContatos()
        Dim Colunas As New DataGridViewTextBoxColumn()
        Try
            With dtGridContatos
                .AutoGenerateColumns = False
                .RowHeadersVisible = False

                .Columns.Clear()
                'define cada coluna do grid
                Dim Col As New DataGridViewTextBoxColumn()

                Col.DataPropertyName = "idContato"
                Col.HeaderText = "IdContato"
                Col.Width = 15
                Col.Frozen = False
                Col.ReadOnly = True
                Col.FillWeight = 100
                Col.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet
                Col.Visible = False

                .Columns.Add(Col)


                Dim Col1 As New DataGridViewTextBoxColumn()
                Col1.DataPropertyName = "nomeContato"
                Col1.HeaderText = "Nome"
                Col1.Width = 160
                Col1.Frozen = False
                Col1.ReadOnly = False
                Col1.FillWeight = 100
                Col1.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet
                Col1.Visible = True

                .Columns.Add(Col1)

                Dim Col9 As New DataGridViewTextBoxColumn
                Col9.DataPropertyName = "Principal"
                Col9.HeaderText = "Principal"
                Col9.Width = 20
                Col9.Frozen = False
                Col9.ReadOnly = False
                Col9.FillWeight = 100
                Col9.Visible = False
                .Columns.Add(Col9)

                Dim Col2 As New DataGridViewTextBoxColumn()
                Col2.DataPropertyName = "idDepartamento"
                Col2.HeaderText = "idDpto"
                Col2.Width = 50
                Col2.Frozen = False
                Col2.ReadOnly = False
                Col2.FillWeight = 100
                Col2.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet
                Col2.Visible = False

                .Columns.Add(Col2)


                Dim Col3 As New DataGridViewTextBoxColumn()
                Col3.DataPropertyName = "Departamento"
                Col3.HeaderText = "Departamento"
                Col3.Width = 90
                Col3.Frozen = False
                Col3.ReadOnly = False
                Col3.FillWeight = 100
                Col3.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet
                Col3.Visible = True

                .Columns.Add(Col3)


                Dim Col4 As New DataGridViewTextBoxColumn()
                Col4.DataPropertyName = "email"
                Col4.HeaderText = "Email"
                Col4.Width = 160
                Col4.Frozen = False
                Col4.ReadOnly = False
                Col4.FillWeight = 100
                Col4.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet
                Col4.Visible = True

                .Columns.Add(Col4)

                Dim Col5 As New DataGridViewTextBoxColumn()
                Col5.DataPropertyName = "Telefone"
                Col5.HeaderText = "Telefone"
                Col5.Width = 90
                Col5.Frozen = False
                Col5.ReadOnly = False
                Col5.FillWeight = 100
                Col5.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet
                Col5.Visible = True

                .Columns.Add(Col5)

                Dim Col6 As New DataGridViewTextBoxColumn()
                Col6.DataPropertyName = "Celular"
                Col6.HeaderText = "Celular"
                Col6.Width = 90
                Col6.Frozen = False
                Col6.ReadOnly = False
                Col6.FillWeight = 100
                Col6.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet
                Col6.Visible = True

                .Columns.Add(Col6)

                Dim Col7 As New DataGridViewTextBoxColumn()
                Col7.DataPropertyName = "Fax"
                Col7.HeaderText = "Fax"
                Col7.Width = 90
                Col7.Frozen = False
                Col7.ReadOnly = False
                Col7.FillWeight = 100
                Col7.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet
                Col7.Visible = True

                .Columns.Add(Col7)

                Dim Col8 As New DataGridViewTextBoxColumn
                Col8.DataPropertyName = "Acao"
                Col8.HeaderText = "Acao"
                Col8.Width = 90
                Col8.Frozen = False
                Col8.ReadOnly = False
                Col8.FillWeight = 100
                Col8.AutoSizeMode = DataGridViewAutoSizeColumnMode.NotSet
                Col8.Visible = False

                .Columns.Add(Col8)

                .Refresh()

            End With
        Catch ex As Exception

            MsgBox(ex.Message, MsgBoxStyle.Critical, Me.Text)

        End Try

    End Sub

    Private Function validarFormulario() As Boolean

        Dim bRetorno As Boolean = True

        If Me.txtRazaoSocial.Text = String.Empty Then
            sMensagemValidacao = "- Razão social obrigatória."
            bRetorno = False
        End If

        Return bRetorno

    End Function

#End Region

    Private Sub frmCliente_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing

        Me.DialogResult = Windows.Forms.DialogResult.OK

    End Sub

    Private Sub frmPessoa_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        Call carregaDados()

    End Sub

    Private Sub frmPessoa_alteraModo(ByVal eModoAtual As frmPadrao.eModo) Handles Me.alteraModo
        If (eModoAtual = eModo.eAguardar Or eModoAtual = eModo.eExcluir) Then

            Me.txtIDCliente.Enabled = True
            Me.cmdProcura.Enabled = True
            Me.txtRazaoSocial.Enabled = False
            Me.txtNomeFantasia.Enabled = False
            Me.txtEndereco.Enabled = False
            Me.txtTelefone.Enabled = False
            Me.txtEndereco.Enabled = False
            Me.txtCnpj.Enabled = False
            Me.cmdEstado.Enabled = False
            Me.txtEstado.Enabled = False
            Me.cmdCidade.Enabled = False
            Me.txtCidade.Enabled = False
            Me.cmdBairro.Enabled = False
            Me.txtBairro.Enabled = False
            Me.cmdStatus.Enabled = False
            Me.cmdRegiao.Enabled = False
            Me.txtEmail.Enabled = False
            Me.txtRegiao.Enabled = False
            Me.cmdStatus.Enabled = False
            Me.cmdRegiao.Enabled = False
            Me.txtStatus.Enabled = False
            Me.fraTipoPess.Enabled = False
            Me.txtCEP.Enabled = False
            Me.txtCnpj.Enabled = False
            Me.txtInsc.Enabled = False
            Me.txtObservacoes.Enabled = False
            Me.txtRamoAtividade.Enabled = False
            Me.cmdRamoAtividade.Enabled = False
            cmdNovoContato.Enabled = False
            cmdEditarContato.Enabled = False
            cmdExcluiContato.Enabled = False
        Else

            Me.txtIDCliente.Enabled = False
            Me.cmdProcura.Enabled = False
            Me.txtRazaoSocial.Enabled = True
            Me.txtNomeFantasia.Enabled = (optJuridica.Checked = True)
            Me.txtEndereco.Enabled = True
            Me.txtTelefone.Enabled = True
            Me.txtEndereco.Enabled = True
            Me.txtCnpj.Enabled = True
            Me.txtEmail.Enabled = True
            Me.txtRegiao.Enabled = True
            Me.cmdStatus.Enabled = True
            Me.cmdRegiao.Enabled = True
            Me.txtStatus.Enabled = True
            Me.cmdEstado.Enabled = True
            Me.txtEstado.Enabled = True
            Me.fraTipoPess.Enabled = True
            Me.txtCEP.Enabled = True
            Me.txtCnpj.Enabled = True
            Me.txtInsc.Enabled = True
            Me.txtObservacoes.Enabled = True
            Me.txtRamoAtividade.Enabled = True
            Me.cmdRamoAtividade.Enabled = True
            Me.txtCidade.Enabled = (prvIDEstado > 0)
            Me.cmdCidade.Enabled = (prvIDEstado > 0)
            Me.txtBairro.Enabled = (prvIDCidade > 0)
            Me.cmdBairro.Enabled = (prvIDCidade > 0)
            cmdNovoContato.Enabled = (prvIDCliente > 0)
            cmdEditarContato.Enabled = (prvIDCliente > 0)
            cmdExcluiContato.Enabled = (prvIDCliente > 0)
        End If

    End Sub

    Private Sub cmdGravar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdGravar.Click
        Dim bRetorno As Boolean

        Try
            If (Me.validarFormulario) Then
                bRetorno = Me.objClientes.salvarCliente(Me.Codigo, _
                                               Me.txtRazaoSocial.Text.Trim, _
                                               Trim(Me.txtNomeFantasia.Text.Trim), _
                                               Me.txtEndereco.Text.Trim, _
                                               Me.txtTelefone.Text.Trim, _
                                               Me.txtEmail.Text.Trim, _
                                               Me.txtCnpj.Text.Trim, _
                                               prvIDBairro, _
                                               prvIDCidade, _
                                               prvIDEstado, _
                                               Me.txtCEP.Text.Trim, _
                                               prvIDStatus, _
                                               Me.prvTipoPessoa, _
                                               Me.txtCnpj.Text.Trim, _
                                               Me.txtInsc.Text.Trim, _
                                               Me.txtObservacoes.Text.Trim, _
                                               prvIDRegiao, _
                                               frmPrincipal.objUsuario.Usuario, _
                                               Date.Now.Date, _
                                               prvIDRamoAtividade)
                If bRetorno Then
                    Me.IDCliente = Me.objClientes.IDCliente
                    Me.txtIDCliente.Text = Me.IDCliente
                    MyBase.Codigo = Me.IDCliente
                    MyBase.modoAtual = eModo.eAguardar
                End If
            Else
                MsgBox(Me.sMensagemValidacao, MsgBoxStyle.Exclamation, Me.Text)
                Me.cmdCancelar.Text = "Cancelar"
                MyBase.modoAtual = eModo.eEditar
                Exit Sub
            End If

        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical, Me.Text)
            MyBase.modoAtual = eModo.eEditar
        End Try
    End Sub

    Private Sub cmdExcluir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdExcluir.Click
        Try
            If MyBase.Exclui Then
                Me.objClientes.excluirPessoa(Convert.ToInt32(Me.txtIDCliente.Text))
                Me.Codigo = 0
                MyBase.Codigo = Me.Codigo
                MyBase.Limpar(Me)
                Me.txtIDCliente.Focus()
                MyBase.modoAtual = eModo.eAguardar
            End If
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical, Me.Text)
        End Try
    End Sub

    Private Sub cmdNovo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdNovo.Click

        Me.txtRazaoSocial.Focus()
        DialogResult = Windows.Forms.DialogResult.OK

    End Sub

    Private Sub cmdCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCancelar.Click
        If Me.cmdCancelar.Text = "Alterar" Then
            Me.txtIDCliente.Focus()
            Call carregaDados()
        Else
            Me.txtNomeFantasia.Focus()
        End If
    End Sub

    Private Sub cmdCidade_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCidade.Click
        Dim sql As String
        Dim frmDialogo As New frmPesquisa

        Me.objCidade.IDEstado = prvIDEstado
        sql = Me.objCidade.sqlConsulta


        With frmDialogo
            .Campos = "iIDCidade,sCidade"
            .Descricoes = "Código,Descricao"
            .Larguras = "50,300"
            .Sql = sql
            .Titulo = "Pesquisa Cidade"
            .CarregaTela()
            If .DS.Tables(0).Rows.Count > 0 Then
                .ShowDialog()
                If (.DialogResult = Windows.Forms.DialogResult.OK) Then
                    Me.prvIDCidade = .Id
                    txtCidade.Text = objCidade.retornarNomeCidade(Me.prvIDCidade)
                    cmdBairro.Enabled = True
                    txtBairro.Enabled = True
                End If
            Else
                txtCidade.Text = String.Empty
                prvIDCidade = 0
                cmdBairro.Enabled = False
                txtBairro.Enabled = False
                MsgBox("Registro não encontrado", MsgBoxStyle.Exclamation, Me.Text)
                Exit Sub
            End If

        End With
    End Sub

    Private Sub cmdEstado_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdEstado.Click
        Dim sql As String
        Dim frmDialogo As New frmPesquisa

        sql = Me.objEstado.sqlConsulta

        With frmDialogo
            .Campos = "iIDEstado,sSigla,sEstado"
            .Descricoes = "Código,Sigla,Descricao"
            .Larguras = "50,50,250"
            .Sql = sql
            .Titulo = "Pesquisa Estado"
            .CarregaTela()
            If .DS.Tables(0).Rows.Count > 0 Then
                .ShowDialog()
                If (.DialogResult = Windows.Forms.DialogResult.OK) Then
                    Me.prvIDEstado = .Id
                    txtEstado.Text = objEstado.retornarCampoEstado("Sigla", Me.prvIDEstado).Item("Sigla")
                    cmdCidade.Enabled = True
                    txtCidade.Enabled = True
                    prvIDCidade = 0
                End If
            Else
                MsgBox("Registro não encontrado", MsgBoxStyle.Exclamation, Me.Text)
                Me.prvIDEstado = 0
                txtEstado.Text = String.Empty
                Exit Sub
            End If
            prvIDCidade = 0
            txtCidade.Text = String.Empty
            txtCidade.Enabled = True
            prvIDBairro = 0
            txtBairro.Text = String.Empty
            txtBairro.Enabled = False

        End With
    End Sub

    Private Sub cmdBairro_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBairro.Click
        Dim sql As String
        Dim frmDialogo As New frmPesquisa

        Me.objBairro.IDCidade = prvIDCidade
        sql = Me.objBairro.sqlConsulta

        With frmDialogo
            .Campos = "iIDBairro,sBairro"
            .Descricoes = "Código,Descricao"
            .Larguras = "50,300"
            .Sql = sql
            .Titulo = "Pesquisa Bairro"
            .CarregaTela()
            If .DS.Tables(0).Rows.Count > 0 Then
                .ShowDialog()
                If (.DialogResult = Windows.Forms.DialogResult.OK) Then
                    Me.prvIDBairro= .Id
                    txtBairro.Text = objBairro.retornarCampoBairro("Bairro", Me.prvIDBairro).Item("Bairro").ToString
                End If
            Else
                txtBairro.Text = String.Empty
                prvIDBairro = 0
                MsgBox("Registro não encontrado", MsgBoxStyle.Exclamation, Me.Text)
                Exit Sub
            End If

        End With
    End Sub

    Private Sub cmdProcura_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdProcura.Click
        Dim sql As String
        Dim frmDialogo As New frmPesquisa

        sql = Me.objClientes.SqlConsulta(True)

        With frmDialogo
            .Campos = "iIDCliente,sRazaoSocial"
            .Descricoes = "Código,Cliente"
            .Larguras = "50,300"
            .Sql = sql
            .Titulo = "Pesquisa Cliente"
            .CarregaTela()
            If (Not .DS Is Nothing AndAlso .DS.Tables(0).Rows.Count > 0) Then
                .ShowDialog()
                If (.DialogResult = Windows.Forms.DialogResult.OK) Then
                    Me.Codigo = .Id
                    Me.prvIDCliente = .Id
                    Me.txtIDCliente.Text = .Id
                    Me.carregaDados()
                End If
            Else
                MsgBox("Registro não encontrado", MsgBoxStyle.Exclamation, Me.Text)
                Me.prvIDCliente = 0
                MyBase.Limpar(Me)
                Exit Sub
            End If

        End With

        MyBase.modoAtual = eModo.eAguardar

    End Sub

    Private Sub optTipoFisica_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optTipoFisica.CheckedChanged

        If (optTipoFisica.Checked = True) Then
            prvTipoPessoa = 0
            lblRazao.Text = "Nome"
            lblNome.Enabled = False
            txtNomeFantasia.Enabled = False
            lblCnpj.Text = "CPF:"
            txtCnpj.TipoMascara = OTHMaskedBox.OTHMaskedbox.eMascara.CPF
            lblInsc.Text = "RG:"
        End If

    End Sub

    Private Sub optJuridica_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles optJuridica.CheckedChanged

        If (optJuridica.Checked = True) Then
            prvTipoPessoa = 1
            lblRazao.Text = "Razão Social"
            lblNome.Enabled = True
            txtNomeFantasia.Enabled = True
            lblCnpj.Text = "CNPJ:"
            txtCnpj.TipoMascara = OTHMaskedBox.OTHMaskedbox.eMascara.CNPJ
            lblInsc.Text = "Insc. Estadual:"
        End If

    End Sub

    Protected Overrides Sub Finalize()

        MyBase.Finalize()

    End Sub

    Private Sub cmdEditarContato_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdEditarContato.Click
        Dim iIDContato As Int32
        Dim frm As New frmContato2
        Dim iLinha As Integer

        iLinha = dtGridContatos.CurrentRow.Index
        iIDContato = CInt(dtGridContatos.Item(eColContatos.eIdContato, iLinha).Value)

        With frm
            .IDContato = iIDContato
            .IDCliente = prvIDCliente
            .NomeCliente = txtNomeFantasia.Text

            .ShowDialog()

            CarregaDadosContato()
        End With
    End Sub

    Private Sub cmdNovoContato_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdNovoContato.Click
        Dim frm As New frmContato2

        With frm
            .IDCliente = prvIDCliente
            .IDContato = 0

            .NomeCliente = Me.txtRazaoSocial.Text
            .ShowDialog()

            If .DialogResult = Windows.Forms.DialogResult.OK Then
                CarregaDadosContato()
            End If
        End With
    End Sub

    Private Sub cmdExcluiContato_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdExcluiContato.Click
        Dim iIDContato As Int32
        Dim frm As New frmContato2
        Dim iLinha As Integer
        Dim sMensagemConfirmacaoExclusao As String

        Try
            iLinha = dtGridContatos.CurrentRow.Index
            iIDContato = CInt(dtGridContatos.Item(eColContatos.eIdContato, iLinha).Value)

            sMensagemConfirmacaoExclusao = "Confirma a exclusão do contato "
            sMensagemConfirmacaoExclusao &= dtGridContatos.Item(eColContatos.eNomeContato, iLinha).Value & " ?"

            If MsgBox(sMensagemConfirmacaoExclusao, MsgBoxStyle.YesNo, Me.Text) = MsgBoxResult.Yes Then
                objContatos.excluirContato(iIDContato)
            End If

            CarregaDadosContato()
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.Critical, Me.Text)
        End Try

    End Sub

    Private Sub cmdStatus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdStatus.Click
        Dim sql As String
        Dim frmDialogo As New frmPesquisa

        sql = Me.objStatus.sqlConsulta

        With frmDialogo
            .Campos = "iIDStatus,sDescricao"
            .Descricoes = "Código,Status"
            .Larguras = "50,300"
            .Sql = sql
            .Titulo = "Pesquisa Status"
            .CarregaTela()
            If .DS.Tables(0).Rows.Count > 0 Then
                .ShowDialog()
                If (.DialogResult = Windows.Forms.DialogResult.OK) Then
                    Me.prvIDStatus = .Id
                    Me.txtStatus.Text = objStatus.retornarCampoStatus("Descricao", prvIDStatus).Item("Descricao").ToString
                End If
            Else
                MsgBox("Registro não encontrado", MsgBoxStyle.Exclamation, Me.Text)
                Me.prvIDStatus = 0
            End If

        End With
    End Sub

    Private Sub cmdRegiao_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdRegiao.Click
        Dim sql As String
        Dim frmDialogo As New frmPesquisa

        sql = Me.objRegiao.sqlConsulta

        With frmDialogo
            .Campos = "iIDRegiao,sRegiao"
            .Descricoes = "Código,Região"
            .Larguras = "50,300"
            .Sql = sql
            .Titulo = "Pesquisa Região"
            .CarregaTela()
            If .DS.Tables(0).Rows.Count > 0 Then
                .ShowDialog()
                If (.DialogResult = Windows.Forms.DialogResult.OK) Then
                    Me.prvIDRegiao = .Id
                    Me.txtRegiao.Text = objRegiao.retornarCampoRegiao("Regiao", prvIDRegiao).Item("Regiao").ToString
                End If
            Else
                MsgBox("Registro não encontrado", MsgBoxStyle.Exclamation, Me.Text)
            End If
        End With

    End Sub

    Private Sub cmdRamoAtividade_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdRamoAtividade.Click
        Dim sql As String
        Dim frmDialogo As New frmPesquisa

        sql = Me.objRamoAtividade.sqlConsulta

        With frmDialogo
            .Campos = "iIDRamoAtividade,sDescricao"
            .Descricoes = "Código,Descrição"
            .Larguras = "50,300"
            .Sql = sql
            .Titulo = "Pesquisa Ramo de Atividade"
            .CarregaTela()
            If .DS.Tables(0).Rows.Count > 0 Then
                .ShowDialog()
                If (.DialogResult = Windows.Forms.DialogResult.OK) Then
                    Me.prvIDRamoAtividade = .Id
                    Me.txtRamoAtividade.Text = objRamoAtividade.retornarCampoRamoAtividade("Descricao", prvIDRamoAtividade).Item("Descricao").ToString
                End If
            Else
                MsgBox("Registro não encontrado", MsgBoxStyle.Exclamation, Me.Text)
                Me.prvIDStatus = 0
            End If
        End With

    End Sub
End Class
